#ifndef NANE_CONTEXT_H
#   define NANE_CONTEXT_H

namespace nane
{
    struct ILogSystem;
    struct IFileSystem;
    struct ITimeSystem;
    struct IModuleSystem;
    typedef void (*ErrorHandler)( const char*, const char*, const char*, const char* );
    
    struct Context
    {
        ILogSystem* logSystem;
        IFileSystem* fileSystem;
        ITimeSystem* timeSystem;
        IModuleSystem* moduleSystem;
        ErrorHandler errorHandler;
    };

    extern Context* m_context;
}   // namespace nane

#endif	// NANE_CONTEXT_H
